import { NgModule, NgModuleFactory, ModuleWithProviders } from '@angular/core';
import { CoreModule, LazyModuleFactory } from '@abp/ng.core';
import { ThemeSharedModule } from '@abp/ng.theme.shared';
import { ExtendComponent } from './components/extend.component';
import { ExtendRoutingModule } from './extend-routing.module';

@NgModule({
  declarations: [ExtendComponent],
  imports: [CoreModule, ThemeSharedModule, ExtendRoutingModule],
  exports: [ExtendComponent],
})
export class ExtendModule {
  static forChild(): ModuleWithProviders<ExtendModule> {
    return {
      ngModule: ExtendModule,
      providers: [],
    };
  }

  static forLazy(): NgModuleFactory<ExtendModule> {
    return new LazyModuleFactory(ExtendModule.forChild());
  }
}
